package main

import (
	"context"
	"fmt"

	"github.com/redis/go-redis/v9"
)

func main() {
	// 创建context对象
	ctx := context.Background()
	// 连接redis服务器
	// 创建redis连接对象
	rdb := redis.NewClient(&redis.Options{
		// 配置信息
		Addr:     "192.168.88.11:6379",
		Password: "",
		DB:       0,
	})
	defer rdb.Close() // 关闭连接
	// 哈希值
	/*
		// 设置
		err := rdb.HSet(ctx, "user:1", "age", 18).Err()
		if err != nil {
			panic(err)
		}
		// 获取
		value, err := rdb.HGet(ctx, "user:1", "name").Result()
		if err != nil {
			panic(err)
		}
		fmt.Println(value)
		// 获取所有
		values, err := rdb.HGetAll(ctx, "user:1").Result()
		if err != nil {
			panic(err)
		}
		fmt.Println(values)   // map[age:18 name:Jone]

		// 设置map格式
		users := map[string]interface{}{
			"name": "Lucy",
			"age":  23,
		}
		err := rdb.HMSet(ctx, "user:2", users).Err()
		if err != nil {
			panic(err)
		}

		// 所有的键
		keys, _ := rdb.HKeys(ctx, "user:1").Result()
		fmt.Println(keys)
		values, _ := rdb.HVals(ctx, "user:1").Result()
		fmt.Println(values)
	*/
	// 删除
	// rdb.HDel(ctx, "user:1", "age").Err()
	// 判断是否存在
	v, _ := rdb.HExists(ctx, "user:1", "name").Result()
	fmt.Println(v)
}
